package util.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/**
 * 
 * @desc  文件操作工具类
 * @author hxl
 * @time 2019年7月3日
 */
public class FileUtil {
	/**
	   *      把文件写入磁盘   
	 * @param path
	 * @param fileName
	 * @param fileString
	 */
	 public static void writeFile(String path,String fileString){
	    	File f = new File(path);
	        FileOutputStream fop;
			try {
				// 构建FileOutputStream对象,文件不存在会自动新建
				fop = new FileOutputStream(f,true);
				// 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk
		        OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
		        // 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入
		        writer.write(fileString);
		        // 换行
		        writer.write("\r\n");
		        // 关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉
		        writer.close();
		        // 关闭输出流,释放系统资源
		        fop.close();
			} catch (IOException e) {
				System.out.println(e.getMessage());
			}
	    }  
	 /**
	      *     读取文件信息
	  * @param location
	  * @return
	  */
	 public  static String readFile(String location){
	        File file = new File(location);
	        FileInputStream in;
	        String s="";
			try {
				in = new FileInputStream(file);
				byte[] buf = new byte[(int) file.length()];
		        in.read(buf);
		        in.close();
		        s = new String(buf,"UTF-8");
			} catch (IOException e) {
				System.out.println("文件读取失败:"+e.getMessage());
			}
	        return s;
	 }
	 /**
	      * 根据路径删除文件
	  * @param location
	  */
	 public  static void  deleteFile(String location) {
		  File file=new File(location);
		  file.delete();
	 }
}
